Throughout this document the following conventions are used:
- { ... }
- Curly braces group together whatever they enclose.
- [ ... ]
- Square brackets indicate that what they enclose is optional.
See also Dot-notation below.
- *
- Braces or brackets followed by a star,
e.g. { ... }* ,
indicate zero or more occurences of the enclosed item.
See also Dot-notation below.
- +
- Braces or brackets followed by a plus sign, e.g.
[ ... ]+, indicate one or more occurences of the enclosed
item.
- |
- A vertical bar is used to separate alternatives in a
braced or bracketed group, e.g. { thing1 | ... | thingN }.
-
- is used to indicate evaluation.
(Evaluation is described in section 2.2.)
It is read as ``evaluates to''.
For example, (+ 3 5)
8 means that evaluating the
expression (+ 3 5) yields 8.
- ≡
- indicates code equivalence.
It is read as ``is equivalent to''.
For example,
means that for any x,
the value and effects of (CAR (CDR x)) are always the
same as the value and effects of (CADR x).
-
→
- is used in definitions to indicate
the type of the result. For example,
means that the procedure named NUMBER? yields a boolean result.
means that PRINT
returns a value of no particular interest; that is, one should
not depend on it to return anything in particular.
- Italicized
- names in the code examples are meta-variables
that stand
for pieces of code to be filled in. Restrictions on the particular
types or values of a meta-variable are often suggested by its name or
are given in the text associated with the example.
The term object denotes data of unrestricted type.
- Dot-notation
- , as in (ADD . numbers),
is used where any
number of sub-forms are permitted. In this example, there may be zero
or more numbers;
the description subsumes cases such as (ADD),
(ADD 3), and (ADD 3 5 2).
See also * and ([ ... ]) above.
- Settable
- Some routines described in this manual, such as VREF
(page ), serve as access routines in
the sense that they are appropriate for use in SET and related
forms to designate locations. These routines have their descriptions
flagged with the notation Settable.
- Type Predicate
- Functions that take an object of any type as an argument and return
a boolean are called type predicates. They return true if the
argument was of the required type and false otherwise.
- Operation
- Functions that dispatch on their first argument are labelled as
operations. See Chapter 7.